Traductores e Intérpretes UCAB : Analisis Sintactico Descendente
This page last changed on Oct 27, 2006 by juanca.
Dada una gramática libre de contexto G=(Σ,N,P,S) y una frase de entrada w ∈ Σ*, un Analizador Sintáctico Descendente (Top-Down Parser) intenta encontrar una derivación izquierda de la frase partiendo del símbolo no-terminal inicial S y reemplazando el no-terminal más a la izquierda por el lado derecho de una producción que tenga a ese no-terminal por lado izquierdo. ConfiguraciónUna configuración es una tupla que describe el estado de una máquina o procedimiento de análisis sintáctico en un momento dado. En el caso del Analisis Sintactico Descendente, dada una gramática G=(Σ,N,P,S), una configuración es una tupla:
donde:
Y donde w es la parte de la cadena de entrada que queda por consumir, Xa es una forma sentencial obtenida mediante una derivación izquierda, y X es el símbolo más a la izquierda en dicha sentencia, y Π es la secuencia de producciones que produjeron dicha derivación. El símbolo $ es un nuevo símbolo que no está en S ni en N, y que usamos para denotar tanto el final de la secuencia de entrada como el de la forma sentencial. Movimientos o CómputosUn movimiento (o cómputo) en una derivación es el paso de una configuración a otra, y se indica por el símbolo ├─. Los símbolos ├─ *, ├─ +, y ├─ k tienen los significados usuales. Derivaciones y ConfiguracionesCon las configuraciones podemos describir de manera conveniente un proceso de derivación:
EjemploDada la gramática
Hecho eso, podemos usar configuraciones para describir el proceso de análisis descendente de la frase de entrada: ((a)(a)a).
Como la derivación anterior demuestra, el análisis sintáctico descendente recursivo con retroceso (ASDRR) puede ser un proceso costoso incluso para gramáticas y frases de entrada sencillas. En particular, un ASDRR puede realizar una cantidad enorme de trabajo antes de darse cuenta que la decisión tomada en uno de los pasos iniciales fue equivocada. |
Document generated by Confluence on Oct 04, 2010 11:24 |